English Virtuose

Meta description:

You throw yourself into a sustained body charge, moving at full speed for 3 AP including the AP used to start this action.\n\nFor each AP of the charge, you move up to your movement speed in a direct path. Every creature crossed by this movement takes Blunt damage and is pushed sideways, out of your path.\nAfter the charge ends, you become tired for 1 second.

  • Tags:

    Blunt damage
  • Name:

    aBodyCharge

  • Displayed name:

    Body charge

  • Description:

    You throw yourself into a sustained body charge, moving at full speed for 3 AP including the AP used to start this action. For each AP of the charge, you move up to your movement speed in a direct path. Every creature crossed by this movement takes Blunt damage and is pushed sideways, out of your path. After the charge ends, you become tired for 1 second.

  • Cast description:

    | AP: vAP.string | CD: vCD.string s | | :---: | :---: | | **Flux: vFluxOrCost.string ➞ vFluxCost.string** | **Range: vRange.string** | On this AP and for the next 2 AP you move at your movement speed dealing vDamage.string Blunt damage to all creatures on your way and pushing them sideway. *All affected creatures do a Reflex test which, on success, reduces by half the amount of damage.*

  • Condition:

    assert(character.sFlux.current > vFluxCost.value,[[You don't have enough flux to use this action.]])
    
  • AP cost:

    1

  • Cooldown:

    5

  • Flux cost:

    apMod(vAP+3)*cdMod(vCD)*lineMod(2*3*sMovement)*puncMod(0,1)*vRange*effect(vDamage*55,70)*autoSave*halfOnSave*noTestMod
  • Variables:

    vRange = ListVariable([[vRange]],[[Range]],{[[contactMod]]},{[[Contact]]})
    vDamage = NumberVariable([[vDamage]],[[Damage]])
    vDamage.valueDisplay.value = [[ self .. "d6"]]
  • On used script:

    character.sFlux:changeCurrent(-vFluxCost.value)
    
  • On post script:

    if (success) then
        action.currentCD.value = vCD.value
    end
    
  • Type:

    1

  • Action effects:

    • Use case:

      1

    • Name:

      Body charge

    • Description:

    • Script:

      effect = character:createEffect([[mBodyCharge]])
      effect.displayName:set([[Body charge]])
      effect.description:set([[The creature is charging in a straight line.]])
      effect.duration:set(3)
      effect.script:set([=[character.sRegenAP:addCurrent([[-100%]], [[action]], [[Body charge]])]=])
      effect.recurrentScript:set([=[if modifier.duration.value > 1 then
          display([[Body charge]], [[You charge {{character.sMovement.current}} meters dealing {{vDamage.string}} Blunt damage to all creatures on your way and pushing them sideway.]])
      else
          display([[Body charge]], [[You are tired of your charge.]])
      end]=])
      
      effect:activate()
      
    • Variables: